iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0
自我挑戰組

R語言初學紀錄系列 第 23

DAY23-R語言 資料視覺化part.3 ggplot2應用

  • 分享至 

  • xImage
  •  

前言:今天要練習如何使用ggplot2來繪製圖形,但因為能畫得實在是太多了,因此我只挑了三個出來講~~分別為直方圖、折線圖以及台灣地圖!只講一些基本的內容,所以圖可能會有點簡略><。如果內容有哪些錯誤的地方,請多多包涵~


正文開始-->
以下為一些ggplot2套件使用範例

  1. 直方圖(顯示人均 GDP 分佈的直方圖)

程式碼:

#加載套件
library(ggplot2)
library(gapminder)
#繪製直方圖
ggplot(data = gapminder, aes(x = gdpPercap)) +
  geom_histogram(binwidth = 1000, fill = "blue", color = "black") +
  labs(title = "Distribution of GDP per Capita",
       x = "GDP per Capita",
       y = "Count") +
  theme_minimal()

https://ithelp.ithome.com.tw/upload/images/20240918/20169228oY66P8hUlQ.png
結果圖:
https://ithelp.ithome.com.tw/upload/images/20240918/20169228PMTG6BMs1j.png
說明:

  • ggplot(data = gapminder, aes(x = gdpPercap)):指定 gapminder 數據集,並將人均 GDP (gdpPercap) 作為 x 軸數據。
  • geom_histogram(binwidth = 1000, fill = "blue", color = "black"):創建直方圖,將每個柱狀區間的寬度設為 1000,柱狀體填充顏色為藍色,邊框為黑色。
  • labs():添加標題以及 x 和 y 軸的標籤。
  • theme_minimal():沒有背景的簡約主題。
  1. 折線圖(各大洲的預期壽命變化趨勢)

程式碼:

#繪製折線圖
#加載套件
library(ggplot2)
library(gapminder)
#繪製折線圖
ggplot(data = gapminder, aes(x = year, y = lifeExp, color = continent)) +
  geom_line() +
  labs(title = "Life Expectancy Over Time by Continent",
       x = "Year",
       y = "Life Expectancy") +
  theme_minimal()

https://ithelp.ithome.com.tw/upload/images/20240918/20169228mXqvcEJBuf.png
結果圖:
https://ithelp.ithome.com.tw/upload/images/20240918/20169228LekYV8xGp8.png
說明:

  • ggplot(data = gapminder, aes(x = year, y = lifeExp, color = continent))
    • 使用 gapminder 數據集。
    • year:將年份為 x 軸數據。
    • lifeExp:將預期壽命作為 y 軸數據。
    • color = continent:表示用不同顏色來區分各大洲。
  • geom_line():使用折線圖。
  • labs():添加標題以及 x 和 y 軸的標籤。
  • theme_minimal():沒有背景的簡約主題。
  1. 台灣地圖繪製

程式碼:

#安裝加載套件
install.packages("maps")
library(ggplot2)
library(maps)
#使用maps包中的台灣地圖數據
taiwan_map <- map_data("world", region = "Taiwan")
#繪製台灣地圖
ggplot(data = taiwan_map, aes(x = long, y = lat, group = group)) +
  geom_polygon(fill = "lightblue", color = "black") +
  labs(title = "Map of Taiwan") +
  theme_minimal()

https://ithelp.ithome.com.tw/upload/images/20240918/20169228G0NpEui4xm.png
結果圖:
https://ithelp.ithome.com.tw/upload/images/20240918/20169228b5B7rzPD9m.png
說明:

  • 因為繪製地圖需要結合地理數據,因此需要使用到地理空間處理套件,在此舉例maps。
  • map_data("world", region = "Taiwan"):從 maps 套件中提取台灣的地理邊界數據。
  • ggplot(data = taiwan_map, aes(x = long, y = lat, group = group)):使用 taiwan_map 資料集,其中 long 和 lat 是經緯度數據,group 用來表示多邊形的每個部分。
  • geom_polygon(fill = "lightblue", color = "black"):使用 geom_polygon() 繪製地圖的邊界,多邊形的內部填充顏色為淺藍色,邊界顏色為黑色。
  • labs():添加地圖的標題。
  • theme_minimal():沒有背景的簡約主題。

參考:

  1. https://rpubs.com/skydome20/R-Note3-function_and_package
  2. https://bookdown.org/jefflinmd38/r4biost/dataviz.html
  3. https://yijutseng.github.io/DataScienceRBook/vis.html
  4. https://bookdown.org/chiajungyeh/Transport-Analysis/%E8%B3%87%E6%96%99%E8%A6%96%E8%A6%BA%E5%8C%96.html

上一篇
DAY22-R語言 資料視覺化part.2 ggplot2簡介
下一篇
DAY24-R語言 apply家族函數part.1
系列文
R語言初學紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言